-- $ID$
-- ********************************************************************
-- CISCO-GGSN-SERVICE-AWARE-MIB.my: MIB file for SERVICE-AWARE 
--
-- Aug   2005, Suma Marutirao  Sutar.
--
-- Copyright (c), 2000-2005, 2006 by Cisco Systems, Inc.
-- All rights reserved.
-- ********************************************************************
-- $Endlog$


CISCO-GGSN-SERVICE-AWARE-MIB  DEFINITIONS ::= BEGIN

IMPORTS
        MODULE-IDENTITY,
        NOTIFICATION-TYPE,
        OBJECT-TYPE,
        Integer32,
        Counter32,
        Unsigned32
                FROM SNMPv2-SMI
        TruthValue,
        RowStatus
                FROM SNMPv2-TC
        InetAddressType,
        InetAddress,
        InetPortNumber
                FROM INET-ADDRESS-MIB
        SnmpAdminString
            FROM SNMP-FRAMEWORK-MIB
        MODULE-COMPLIANCE,
        OBJECT-GROUP,
        NOTIFICATION-GROUP
                FROM SNMPv2-CONF
        cGgsnNotifPdpImsi,
        cGgsnNotifPdpMsisdn
                FROM CISCO-GGSN-MIB
        ciscoMgmt
                FROM CISCO-SMI;


cGgsnSAMIB    MODULE-IDENTITY
        LAST-UPDATED    "200605041700Z"
        ORGANIZATION    "Cisco Systems, Inc."
        CONTACT-INFO
                "       Cisco Systems
                        Customer Service

                Postal: 170 W Tasman Drive
                        San Jose, CA  95134
                        USA

                   Tel: +1 800 553-NETS

                E-mail: cs-gprs@cisco.com"
        DESCRIPTION
               "This MIB module manages the service-aware feature of
                Gateway GPRS Support Node (GGSN).

                This MIB is an enhancement of the CISCO-GGSN-MIB. 
          
                There needs to be a tight coupling between GGSN and CSG 
                in order to realize the enhanced GGSN, which is capable 
                of categorizing traffic flowing within a PDP context to
                different services.
  
                An enhanced version of Diameter Credit Control 
                Application (DCCA) will be used for implementing  
                real-time credit control of end users in the IPS 
                framework.  The GGSN will act as DCCA client and will 
                interact with DCCA server for quota negotiation and
                usage reporting.

                The credit control request (CCR) message is used between
                DCCA-Client (DCCA-C) and DCCA-Server to request credit 
                authorization for a given service.  The credit control 
                request has one mandatory AVP (Attribute Value Pair) 
                called CCR.  For a session based credit control 
                several interrogation required, the first, intermediate
                and final.  The first interrogation must be sent
                before the DCCA-C allows any service event to the 
                user, CCR type is set to INITIAL in this case.  When all
                the granted service units for one unit type are spent
                by the end user or the validity time is expired
                the DCCA-C must send a new credit control (CC) request
                to CC server, this is the intermediate interrogation
                and the CCR type AVP is set to the value UPDATE. 
                When the end user terminates a service session the 
                DCCA-C must send a final CCR request message to the 
                CC server.  The CCR type AVP is set to the FINAL 
                or TERMINATION_REQUSET. 
 
                CSG will be responsible for categorizing the traffic, 
                quota management activities and usage reporting 
                functions.  GGSN will act as a quota server for CSG. 
                A proprietary interface based on GTP' will be used 
                between GGSN and CSG.     

                 Acronyms and terms:

                 APN    Access Point Name
                 CCA    Credit Control Answer
                 CCR    Credit Control Request
                 CCFH   Credit Control Failure  Handling
                 CDR    Charging Data Record
                 CLCI   Closed Loop Charging Interface
                 CSG    Content Service Gateway
                 DCCA   Diameter Credit Control Application
                 ETSI   European Telecommunications Standards Institute
                 GGSN   Gateway GPRS Support Node
                 GPRS   General Packet Radio Service
                 GSM    Global System for Mobile communication
                 GTP    GPRS Tunneling Protocol
                 MS     Mobile Station
                 MSISDN Mobile Station ISDN number
                 PDP    Packet Data Protocol
                 PLMN   Public Land Mobile Network
                 SGSN   Serving GPRS support Node
                 SLB    Server Load Balancing
                 TFT    Traffic Flow Template
                 UMTS   Universal Mobile Telecommunications System
                 QS     Quota Server
                 UE     User Equipment

                REFERENCE

                [1] GSM 03.60: Digital cellular telecommunications
                    system (Phase 2+); General Packet Radio Service
                    (GPRS); Service description; Stage 2. V7.1.0

                [2] GSM 09.60: Digital cellular telecommunication
                    system (Phase 2+); General Packet Radio Service
                    (GPRS); GPRS Tunnelling Protocol (GTP) across
                    Gn and Gp Interface. V7.3.0

                [3] 3GPP; Technical Specification Group Services
                    and System Aspects; QoS Concept and Architecture.
                    3G TS 23.107 v3.2.0.

                [4] 3GPP; Technical Specification Group Core Network;
                    General Packet Radio Service(GPRS); GPRS
                    Tunnelling Protocol (GTP) across Gn and Gp
                    Interface (Release 1999). 3G TS 29.060 v3.5.0."
        REVISION       "200605041700Z"
        DESCRIPTION
                "Added following objects to cGgsnSADccaProfileTable:
                    cGgsnSADccaTriggerPlmnChange, 
                    cGgsnSADccaTriggerRatChange.
                Added following group to cGgsnSAMIBGroups:
                    cGgsnSAExtConfigurationsGroup.
                Added following compliance to cGgsnSAMIBCompliances:
                    cGgsnSAMIBComplianceRev1." 
        REVISION       "200510110900Z"
        DESCRIPTION
                "Initial version of this MIB module."
        ::= {ciscoMgmt 497 }

--
-- Object definitions
--
cGgsnSAMIBObjects             OBJECT IDENTIFIER
                                ::= { cGgsnSAMIB 1 }
cGgsnSAStatistics             OBJECT IDENTIFIER
                                ::= { cGgsnSAMIBObjects 1 }
cGgsnSACsgStatistics          OBJECT IDENTIFIER
                                ::= { cGgsnSAStatistics 1 }
cGgsnSAQuotaServerStatistics  OBJECT IDENTIFIER
                                ::= { cGgsnSAStatistics 2 }
cGgsnSAServiceAwareStatistics OBJECT IDENTIFIER
                                ::= { cGgsnSAStatistics 3 }
cGgsnSANotifMgmt              OBJECT IDENTIFIER
                                ::= { cGgsnSAMIBObjects 2 }
cGgsnSAConfigurations         OBJECT IDENTIFIER
                                ::= { cGgsnSAMIBObjects 3 }
cGgsnSANotifInfo              OBJECT IDENTIFIER
                                ::= { cGgsnSAMIBObjects 4 }

--
-- Statistics
--

--CSG statistics

cGgsnSACsgOutboundMsgs      OBJECT-TYPE
     SYNTAX                 Counter32
     UNITS                  "packets"
     MAX-ACCESS             read-only
     STATUS                 current
     DESCRIPTION
         "The aggregate number of echo request, echo response, and node
         alive messages sent."
     ::= { cGgsnSACsgStatistics 1 }

cGgsnSACsgOutboundOctets    OBJECT-TYPE
     SYNTAX                 Counter32
     UNITS                  "octets"
     MAX-ACCESS             read-only
     STATUS                 current
     DESCRIPTION
         "The aggregate number of echo request, echo response, and node
         alive messages sent in terms of octets."
     ::= { cGgsnSACsgStatistics 2 }

cGgsnSACsgInboundMsgs               OBJECT-TYPE
     SYNTAX                         Counter32
     UNITS                          "packets"
     MAX-ACCESS                     read-only
     STATUS                         current
     DESCRIPTION
         "The aggregate number of echo request, echo response, and node
         alive messages received."
     ::= { cGgsnSACsgStatistics 3 }

cGgsnSACsgInboundOctets             OBJECT-TYPE
     SYNTAX                         Counter32
     UNITS                          "octets"
     MAX-ACCESS                     read-only
     STATUS                         current
     DESCRIPTION
         "The aggregate number of echo request, echo response, and node
         alive messages received in terms of octets."
     ::= { cGgsnSACsgStatistics 4 }

cGgsnSACsgServiceAuthReqs           OBJECT-TYPE
     SYNTAX                         Counter32
     MAX-ACCESS                     read-only
     STATUS                         current
     DESCRIPTION
         "This object indicates the number of requests by the CSG for 
         initial quota grant of a particular category.  Currently, 
         the CSG allows only synchronous quota grants (i.e., grants due
         to explicit requests from it)."
     ::= { cGgsnSACsgStatistics 5 }

cGgsnSACsgServiceAuthResps          OBJECT-TYPE
     SYNTAX                         Counter32
     MAX-ACCESS                     read-only
     STATUS                         current
     DESCRIPTION
         "This object indicates the number of responses given to the 
         CSG for service authorization requests."
     ::= { cGgsnSACsgStatistics 6 }

cGgsnSACsgServiceReAuthReqs         OBJECT-TYPE
     SYNTAX                         Counter32
     MAX-ACCESS                     read-only
     STATUS                         current
     DESCRIPTION
         "This object indicates the number of service re-authorization
         requests by the CSG for a category verification."
     ::= { cGgsnSACsgStatistics 7 }

cGgsnSACsgQuotaReturns              OBJECT-TYPE
     SYNTAX                         Counter32
     MAX-ACCESS                     read-only
     STATUS                         current
     DESCRIPTION
         "This object indicates the number of quota return messages by 
         the CSG.  The CSG sends quota return message when validity 
         timer expires or there is no response message from the QS.
         On receipt of quota return message, QS returns the usage of 
         a particular category."
     ::= { cGgsnSACsgStatistics 8 }

cGgsnSACsgQuotaReturnReqs           OBJECT-TYPE
     SYNTAX                         Counter32
     MAX-ACCESS                     read-only
     STATUS                         current
     DESCRIPTION
         "This object indicates the number of quota return requests 
         by the QS.  QS may send this message to cause CSG to
         return unused quota for the target service.

         QS sends the quota return request when the validity timer 
         expires, this in turn triggers the CCR update.  The DCCA server
         grants quota in response to quota return request."
     ::= { cGgsnSACsgStatistics 9 }

cGgsnSACsgQuotaPushResps            OBJECT-TYPE
     SYNTAX                         Counter32
     MAX-ACCESS                     read-only
     STATUS                         current
     DESCRIPTION
         "This object indicates the number of quota push responses
         by the CSG.  The purpose of quota push response is mainly 
         to convey session ID to QS, so that QS can save it for
         subsequent transactions it originates."
     ::= { cGgsnSACsgStatistics 10 }

cGgsnSACsgServiceStopMsgs           OBJECT-TYPE
     SYNTAX                         Counter32
     MAX-ACCESS                     read-only
     STATUS                         current
     DESCRIPTION
         "This object indicates the number of service stop messages
         by the CSG.

         The following list summarizes the situations under which user 
         is disconnected from the service: 

         - When the CSG removes the user, by a RADIUS Accounting
          (stop) message, the CSG sends the service stop message for
           each service for which user had an active session.

         - When the idle timer on the CSG expires, it will send service
           stop for the category.

         - If the QS sends service stop request message.
           The CSG will report the usage and remaining quota." 
     ::= { cGgsnSACsgStatistics 11 }

cGgsnSACsgServiceStopReqs           OBJECT-TYPE
     SYNTAX                         Counter32
     MAX-ACCESS                     read-only
     STATUS                         current
     DESCRIPTION
         "This object indicates the number of service stop messages
         received by the CSG. 
        
         If following a quota push message and update request from
         SGSN, GGSN sent a CCR update and received CCA update with
         terminate category, in this case GGSN will generate service
         stop request to CSG."
     ::= { cGgsnSACsgStatistics 12 }

cGgsnSACsgQuotaPushMsgs             OBJECT-TYPE
     SYNTAX                         Counter32
     MAX-ACCESS                     read-only
     STATUS                         current
     DESCRIPTION
         "This object indicates the number of quota push messages sent
         by the GGSN.

         GGSN sends the quota push message in the following
         conditions:

         - When DCCA server returns non zero quota.

         - When category is blacklisted or unknown.

         - When retransmit (Tx) timer, associated with DCCA client,
           expires.

         - When credit control not required."
     ::= { cGgsnSACsgStatistics 13 }

cGgsnSACsgQuotaPushRsps             OBJECT-TYPE
     SYNTAX                         Counter32
     MAX-ACCESS                     read-only
     STATUS                         current
     DESCRIPTION
         "This object indicates the number of quota push responses by
         the CSG.  The CSG respond to the quota push with the quota push
         response.  The cause IE in the GTP' header indicates
         success/failure.  The category whose quota is pushed must be 
         statically configured on the CSG.  If it is not configured,
         CSG sends the reject cause 255 in its quota push response."
     ::= { cGgsnSACsgStatistics 14 }

cGgsnSACsgGtpAcks                   OBJECT-TYPE
     SYNTAX                         Counter32
     MAX-ACCESS                     read-only
     STATUS                         current
     DESCRIPTION
         "This object indicates the number of GTP' level 
         acknowledgements by the CSG for some requests from the QS  
         (e.g., quota return request and service stop request).
         The acknowledgements do not contain the user index and service 
         ID TLVs, which are helpful for category lookup.  However,
         they contain the sequence number in the GTP' header that 
         matches with that of the corresponding requests."
     ::= { cGgsnSACsgStatistics 15 }

--Quota Server

cGgsnSAQsRcvdRequests               OBJECT-TYPE
     SYNTAX                         Counter32
     MAX-ACCESS                     read-only
     STATUS                         current
     DESCRIPTION
         "This object indicates the number of request messages 
         received from the CSG.  The counter is incremented
         when QS receives the messages as listed below:

         - User profile request.
         - Service authorization request.
         - Service re-authorization request.
         - Content authorization request."
     ::= { cGgsnSAQuotaServerStatistics 1 }

cGgsnSAQsRcvdResponses              OBJECT-TYPE
     SYNTAX                         Counter32
     MAX-ACCESS                     read-only
     STATUS                         current
     DESCRIPTION
         "This object indicates the number of responses received from 
         the CSG for the corresponding requests."
     ::= { cGgsnSAQuotaServerStatistics 2 }

cGgsnSAQsSentRequests               OBJECT-TYPE
     SYNTAX                         Counter32
     MAX-ACCESS                     read-only
     STATUS                         current
     DESCRIPTION
         "This object indicates the number of request messages 
         sent to the CSG.  The counter is incremented for every
         request sent from the QS, like,

         - Quota return request
         - Service stop request
         - User disconnect request."
     ::= { cGgsnSAQuotaServerStatistics 3 }

cGgsnSAQsSentResponses              OBJECT-TYPE
     SYNTAX                         Counter32
     MAX-ACCESS                     read-only
     STATUS                         current
     DESCRIPTION
         "This object indicates number of responses sent, for the
         requests received from CSG.  The counter is incremented
         when QS sends the response, like,

         - User profile response
         - Service authorization response
         - Content authorization response."
     ::= { cGgsnSAQuotaServerStatistics 4 }

cGgsnSAQsRcvdPathRequests           OBJECT-TYPE
     SYNTAX                         Counter32
     MAX-ACCESS                     read-only
     STATUS                         current
     DESCRIPTION
         "This object indicates the number of echo request and node 
         alive request received from the CSG.  Both CSG and QS use 
         echoes to detect health of path between them.  The CSG sends
         the real address while sending the request."
   ::= { cGgsnSAQuotaServerStatistics 5 }

cGgsnSAQsRcvdPathResponses          OBJECT-TYPE
     SYNTAX                         Counter32
     MAX-ACCESS                     read-only
     STATUS                         current
     DESCRIPTION
         "This object indicates the number of responses received for
         path management request messages from QS."
     ::= { cGgsnSAQuotaServerStatistics 6 }

cGgsnSAQsSentPathRequests           OBJECT-TYPE
     SYNTAX                         Counter32
     MAX-ACCESS                     read-only
     STATUS                         current
     DESCRIPTION
         "This object indicates the number of echo request messages
         sent by the QS, to check the health of the path between
         QS and CSG."
  ::= { cGgsnSAQuotaServerStatistics 7 }

cGgsnSAQsSentPathResponses          OBJECT-TYPE
     SYNTAX                         Counter32
     MAX-ACCESS                     read-only
     STATUS                         current
     DESCRIPTION
         "This object indicates the number of path responses sent
         by the QS.  The QS sends the node alive response to the CSG 
         for node alive request and it sends the response for the echo
         request made by CSG, with valid restart counter."
     ::= { cGgsnSAQuotaServerStatistics 8 }

cGgsnSAQsRcvdNegativeResponses      OBJECT-TYPE
     SYNTAX                         Counter32
     MAX-ACCESS                     read-only
     STATUS                         current
     DESCRIPTION
         "This object indicates the number of negative responses 
         received from the CSG.  The CSG sends negative GTP' 
         acknowledgement and also the failure cause code in the 
         quota push response."
     ::= { cGgsnSAQuotaServerStatistics 9 }

cGgsnSAQsRequestsUnreplied          OBJECT-TYPE
     SYNTAX                         Counter32
     MAX-ACCESS                     read-only
     STATUS                         current
     DESCRIPTION
         "This object indicates the number of pending requests which
         are waiting for the response from CSG."
     ::= { cGgsnSAQuotaServerStatistics 10 }

cGgsnSAQsSeqnumFailures             OBJECT-TYPE
     SYNTAX                         Counter32
     MAX-ACCESS                     read-only
     STATUS                         current
     DESCRIPTION
         "This object indicates the number of messages received
         without proper sequence number.
          
         The QS uses different pool of sequence numbers for
         quota management and path management messages.  To manage 
         these sequence numbers, QS utilizes the service of sequence
         number manager.  For quota management messages the sequence 
         numbers start from 1 and increases till 65535 and then wraps
         around."
     ::= { cGgsnSAQuotaServerStatistics 11 }

cGgsnSAQsDroppedMsgs                OBJECT-TYPE
     SYNTAX                         Counter32
     MAX-ACCESS                     read-only
     STATUS                         current
     DESCRIPTION
         "This object indicates the number of dropped messages.  The QS 
         verifies the GTP' header content before queuing an
         inbound message to the QS process.  If any field is bad, it 
         will drop the message before queuing."
     ::= { cGgsnSAQuotaServerStatistics 12 }

cGgsnSAQsUnknownMsgs                OBJECT-TYPE
     SYNTAX                         Counter32
     MAX-ACCESS                     read-only
     STATUS                         current
     DESCRIPTION
         "This object indicates the number of unknown messages
         in the QS."
     ::= { cGgsnSAQuotaServerStatistics 13 }

cGgsnSAQsUnknownResponses           OBJECT-TYPE
     SYNTAX                         Counter32
     MAX-ACCESS                     read-only
     STATUS                         current
     DESCRIPTION
         "This object indicates the number of unknown responses 
         received by the QS." 
     ::= { cGgsnSAQuotaServerStatistics 14 }

cGgsnSAQsIEErrorMsgs                OBJECT-TYPE
     SYNTAX                         Counter32
     MAX-ACCESS                     read-only
     STATUS                         current
     DESCRIPTION
         "This object indicates the number of messages received with
         IE error."
     ::= { cGgsnSAQuotaServerStatistics 15 }

cGgsnSAQsBadSrcAddressMsgs          OBJECT-TYPE
     SYNTAX                         Counter32
     MAX-ACCESS                     read-only
     STATUS                         current
     DESCRIPTION
         "This object indicates the number of messages with
         bad source address."
     ::= { cGgsnSAQuotaServerStatistics 16 }

cGgsnSAQsVersionUnSupportedMsgs     OBJECT-TYPE
     SYNTAX                         Counter32
     MAX-ACCESS                     read-only
     STATUS                         current
     DESCRIPTION
         "This object indicates the number of messages with a higher
         version.  The QS and CSG uses version '0' of GTP' for 
         communication between them.  If CSG sends message with
         higher version, QS will respond with the message
         'version not supported'."
     ::= { cGgsnSAQuotaServerStatistics 17 }

cGgsnSAQsMandTlvMissingMsgs         OBJECT-TYPE
     SYNTAX                         Counter32
     MAX-ACCESS                     read-only
     STATUS                         current
     DESCRIPTION
         "This object indicates the number of messages sent by CSG with 
         mandatory TLV missing.  The message will be dropped." 
     ::= { cGgsnSAQuotaServerStatistics 18 }

cGgsnSAQsMandTlvIncorrectMsgs       OBJECT-TYPE
     SYNTAX                         Counter32
     MAX-ACCESS                     read-only
     STATUS                         current
     DESCRIPTION
         "This object indicates the number of messages sent by the CSG 
         with incorrect mandatory TLV."
     ::= { cGgsnSAQuotaServerStatistics 19 }

cGgsnSAQsInvalidMsgFormats          OBJECT-TYPE
     SYNTAX                         Counter32
     MAX-ACCESS                     read-only
     STATUS                         current
     DESCRIPTION
         "This object indicates the number of messages sent by the CSG
         with TLV of unexpected length.  The QS will drop the message."
     ::= { cGgsnSAQuotaServerStatistics 20 }

cGgsnSAQsNoResponseToMsgs           OBJECT-TYPE
     SYNTAX                         Counter32
     MAX-ACCESS                     read-only
     STATUS                         current
     DESCRIPTION
         "This object indicates the number of messages sent from QS, for
         which there is no response from the CSG after n3/t3 
         retransmission."
     ::= { cGgsnSAQuotaServerStatistics 21 }

--GGSN Service-aware Statistics

cGgsnSANumServiceAwareApns          OBJECT-TYPE
     SYNTAX                         Counter32
     MAX-ACCESS                     read-only
     STATUS                         current
     DESCRIPTION
         "This object indicates the total number of service
         aware APNs."
     ::= { cGgsnSAServiceAwareStatistics 1 }

cGgsnSATotalGgsnEvents              OBJECT-TYPE
     SYNTAX                         Counter32
     MAX-ACCESS                     read-only
     STATUS                         current
     DESCRIPTION
         "This object indicates the total number of GGSN events."
     ::= { cGgsnSAServiceAwareStatistics 2 }

cGgsnSATotalCsgEvents               OBJECT-TYPE
     SYNTAX                         Counter32
     MAX-ACCESS                     read-only
     STATUS                         current
     DESCRIPTION
         "This object indicates the total number of CSG events."
    ::= { cGgsnSAServiceAwareStatistics 3 }

cGgsnSATotalDccaEvents              OBJECT-TYPE
     SYNTAX                         Counter32
     MAX-ACCESS                     read-only
     STATUS                         current
     DESCRIPTION
         "This object indicates the total number of DCCA events."
     ::= { cGgsnSAServiceAwareStatistics 4 }

cGgsnSATotalCreatedCategories       OBJECT-TYPE
     SYNTAX                         Counter32
     MAX-ACCESS                     read-only
     STATUS                         current
     DESCRIPTION
         "This object indicates the total number of categories
         that are created.  Categories will not be statically
         configured in GGSN.  GGSN learn about the categories for
         particular PDP session dynamically by DCCA server and CSG."
    ::= { cGgsnSAServiceAwareStatistics 5 }

cGgsnSATotalCreatedSyncObjs         OBJECT-TYPE
     SYNTAX                         Counter32
     MAX-ACCESS                     read-only
     STATUS                         current
     DESCRIPTION
         "This object indicates the total number of synchronization
         objects that get created for each of the trigger, which keep
         track of the affected categories and their current state.
         The synchronization object contains:

         -Type of object

         -List of affected categories."
     ::= { cGgsnSAServiceAwareStatistics 6 }

cGgsnSACategoryFsmRtnErrors         OBJECT-TYPE
     SYNTAX                         Counter32
     MAX-ACCESS                     read-only
     STATUS                         current
     DESCRIPTION
         "This object indicates the number of errors, returned by
         category FSM."
     ::= { cGgsnSAServiceAwareStatistics 7 }

cGgsnSATotalServiceAuthMsgs         OBJECT-TYPE
     SYNTAX                         Counter32
     MAX-ACCESS                     read-only
     STATUS                         current
     DESCRIPTION
         "This object indicates the total number of service
         authorization messages sent by CSG."
     ::= { cGgsnSAServiceAwareStatistics 8 }

cGgsnSATotalServiceStopMsgs         OBJECT-TYPE
     SYNTAX                         Counter32
     MAX-ACCESS                     read-only
     STATUS                         current
     DESCRIPTION
         "This object indicates total number of service stop 
          messages received."
     ::= { cGgsnSAServiceAwareStatistics 9 }

cGgsnSATotalQuotaGranted            OBJECT-TYPE
     SYNTAX                         Counter32
     MAX-ACCESS                     read-only
     STATUS                         current
     DESCRIPTION
         "This object indicates the total amount of quota granted."
     ::= { cGgsnSAServiceAwareStatistics 10 }

cGgsnSATotalBlackListCategories     OBJECT-TYPE
     SYNTAX                         Counter32
     MAX-ACCESS                     read-only
     STATUS                         current
     DESCRIPTION
         "This object indicates the total number of categories which
         are blacklisted."
     ::= { cGgsnSAServiceAwareStatistics 11 }

cGgsnSATotalRAREvents               OBJECT-TYPE
     SYNTAX                         Counter32
     MAX-ACCESS                     read-only
     STATUS                         current
     DESCRIPTION
         "This object indicates the total number of re-authorization
         (RAR) events."
     ::= { cGgsnSAServiceAwareStatistics 12 }

cGgsnSATotalDeletePdps              OBJECT-TYPE
     SYNTAX                         Counter32
     MAX-ACCESS                     read-only
     STATUS                         current
     DESCRIPTION
         "This object indicates the number PDPs which are deleted."
     ::= { cGgsnSAServiceAwareStatistics 13 }

cGgsnSAFinalConvertToPostpaidPdps   OBJECT-TYPE
     SYNTAX                         Counter32
     MAX-ACCESS                     read-only
     STATUS                         current
     DESCRIPTION
         "This object indicates the number of prepaid PDPs which are 
         converted to postpaid after reporting the final usage of the 
         quota.

         The steps involved are: send quota return request to the
         CSG and if there is a synchronization object for Gn side
         trigger, send the update response and delete the sync object.
         Create a new sync object for this event.  Make the category
         part of sync object."
     ::= { cGgsnSAServiceAwareStatistics 14 }

cGgsnSATotalGgsnFailures            OBJECT-TYPE
     SYNTAX                         Counter32
     MAX-ACCESS                     read-only
     STATUS                         current
     DESCRIPTION
         "This object indicates the total number of GGSN failures
         (i.e., when GGSN fails to communicate with CSG or fail to
         receive response from DCCA server)."
     ::= { cGgsnSAServiceAwareStatistics 15 }

cGgsnSATotalCsgFailures             OBJECT-TYPE
     SYNTAX                         Counter32
     MAX-ACCESS                     read-only
     STATUS                         current
     DESCRIPTION
         "This object indicates the total number of CSG failures
         (i.e., failure in communication with QS)." 
     ::= { cGgsnSAServiceAwareStatistics 16 }

cGgsnSATotalDccaFailures            OBJECT-TYPE
     SYNTAX                         Counter32
     MAX-ACCESS                     read-only
     STATUS                         current
     DESCRIPTION
         "This object indicates the number of failures, in DCCA 
         server." 
     ::= { cGgsnSAServiceAwareStatistics 17 }

cGgsnSATotalDeletedCategories       OBJECT-TYPE
     SYNTAX                         Counter32
     MAX-ACCESS                     read-only
     STATUS                         current
     DESCRIPTION
         "This object indicates the total number of categories,
         which are deleted from the list."
     ::= { cGgsnSAServiceAwareStatistics 18 }

cGgsnSATotalDeletedSyncObjects      OBJECT-TYPE
     SYNTAX                         Counter32
     MAX-ACCESS                     read-only
     STATUS                         current
     DESCRIPTION
         "This object indicates the total number of synchronization
         objects which are deleted."
     ::= { cGgsnSAServiceAwareStatistics 19 }

cGgsnSATotalQuotaPushAcks           OBJECT-TYPE
     SYNTAX                         Counter32
     MAX-ACCESS                     read-only
     STATUS                         current
     DESCRIPTION
         "This object indicates the total number of
         acknowledgements received for the quota push event."
     ::= { cGgsnSAServiceAwareStatistics 20 }

cGgsnSATotalServiceReAuthMsgs       OBJECT-TYPE
     SYNTAX                         Counter32
     MAX-ACCESS                     read-only
     STATUS                         current
     DESCRIPTION
         "This object indicates the total number of service
         re-authorization messages sent by CSG."
     ::= { cGgsnSAServiceAwareStatistics 21 }

cGgsnSATotalQuotaReturns            OBJECT-TYPE
     SYNTAX                         Counter32
     MAX-ACCESS                     read-only
     STATUS                         current
     DESCRIPTION
         "This object indicates the total number of quota
         return message sent by CSG."
     ::= { cGgsnSAServiceAwareStatistics 22 }

cGgsnSATotalTerminateCategories     OBJECT-TYPE
     SYNTAX                         Counter32
     MAX-ACCESS                     read-only
     STATUS                         current
     DESCRIPTION
         "This object indicates the total number of categories
         which are terminated.
         The category is terminated, if:

         -PDP session is terminated
         -Category Termination event in CCA message
         -QHT expires for a category."
     ::= { cGgsnSAServiceAwareStatistics 23 }

cGgsnSATotalUnknownCategories       OBJECT-TYPE
     SYNTAX                         Counter32
     MAX-ACCESS                     read-only
     STATUS                         current
     DESCRIPTION
         "This object indicates the total number of unknown
         categories."
     ::= { cGgsnSAServiceAwareStatistics 24 }

cGgsnSATotalRatingChanges           OBJECT-TYPE
     SYNTAX                         Counter32
     MAX-ACCESS                     read-only
     STATUS                         current
     DESCRIPTION
         "This object indicates the total number of rating condition 
         change events.  Rating condition change is typically an update
         request from SGSN involving SGSN change or QOS change."
     ::= { cGgsnSAServiceAwareStatistics 25 }

cGgsnSATotalPostpaidConversions     OBJECT-TYPE
     SYNTAX                         Counter32
     MAX-ACCESS                     read-only
     STATUS                         current
     DESCRIPTION
         "This object indicates the total number of conversions,
         from prepaid to postpaid."
     ::= { cGgsnSAServiceAwareStatistics 26 }

cGgsnSATotalDummyQuotas             OBJECT-TYPE
     SYNTAX                         Counter32
     MAX-ACCESS                     read-only
     STATUS                         current
     DESCRIPTION
         "This object indicates the total amount of dummy quota pushed
         to CSG." 
     ::= { cGgsnSAServiceAwareStatistics 27 }

cGgsnSATotalPrepaidUsers            OBJECT-TYPE
     SYNTAX                         Counter32
     MAX-ACCESS                     read-only
     STATUS                         current
     DESCRIPTION
         "This object indicates the total number of prepaid
         users."
     ::= { cGgsnSAServiceAwareStatistics 28 }

cGgsnSATotalPostpaidUsers           OBJECT-TYPE
     SYNTAX                         Counter32
     MAX-ACCESS                     read-only
     STATUS                         current
     DESCRIPTION
         "This object indicates the total number of postpaid
         users."
     ::= { cGgsnSAServiceAwareStatistics 29 }

cGgsnSARejDccaFailures              OBJECT-TYPE
     SYNTAX                         Counter32
     MAX-ACCESS                     read-only
     STATUS                         current
     DESCRIPTION
         "This object indicates the total number of PDP sessions, 
         which are rejected due to DCCA failure."
     ::= { cGgsnSAServiceAwareStatistics 30 }

cGgsnSARejCsgFailures               OBJECT-TYPE
     SYNTAX                         Counter32
     MAX-ACCESS                     read-only
     STATUS                         current
     DESCRIPTION
         "This object indicates the total number of rejected PDPs
         due to CSG failure."
     ::= { cGgsnSAServiceAwareStatistics 31 }

--Notification-Related Objects

cGgsnSACsgNotifEnabled          OBJECT-TYPE
     SYNTAX                     TruthValue
     MAX-ACCESS                 read-write
     STATUS                     current 
     DESCRIPTION
         "Indicates whether cGgsnSACsgStateUpNotif notification 
         and cGgsnSACsgStateDownNotif notification will be sent
         when  the path state between CSG and QS goes UP/DOWN.

          - 'true',  it will enable the device to send a notification.

          - 'false', it will prevent the device from sending out a
            notification."
     DEFVAL { false }
     ::= { cGgsnSANotifMgmt 1 }

cGgsnSADccaNotifEnabled        OBJECT-TYPE
     SYNTAX                    TruthValue
     MAX-ACCESS                read-write
     STATUS                    current
     DESCRIPTION
         "Indicates whether cGgsnSADccaEndUsrServDeniedNotif,
         cGgsnSADccaCreditLimReachedNotif, cGgsnSADccaUserUnknownNotif,
         cGgsnSADccaRatingFailed, cGgsnSADccaAuthRejectedNotif
         notifications will be sent when a notification is generated
         by the device.

         - 'true', it will enable the device to send a notification.

         - 'false', it will prevent the device from sending out a
           notification."
     DEFVAL { false }
     ::= { cGgsnSANotifMgmt 2 }

-- Configurations

cGgsnSAServiceAware            OBJECT-TYPE
     SYNTAX                    TruthValue
     MAX-ACCESS                read-write
     STATUS                    current
     DESCRIPTION
         "This object specifies the service-aware feature on GGSN.

         If this object is set to 'true', all service-aware
         features (e.g. quota-server, csg, dcca) can be seen.

         If this object is set to 'false', it will disable the
         GGSN service from the GPRS service."
     DEFVAL { false }
     ::= { cGgsnSAConfigurations 1 } 

--
--DCCA
--

cGgsnSADccaProfileTable       OBJECT-TYPE
     SYNTAX                   SEQUENCE OF CGgsnSADccaProfileEntry
     MAX-ACCESS               not-accessible
     STATUS                   current
     DESCRIPTION
         "The table represents a list of DCCA profiles.

         The GPRS-DCCA-Client component is responsible 
         for interfacing with the DCCA server.
         
         A DCCA profile defines the DCCA server group. The DCCA client
         specific configurations will be put in a DCCA profile table,
         and it is indexed by profile name. 

         The agent can create/destroy/modify a profile as a result 
         of actions from the local console. The table objects can be 
         modified, when the RowStatus (cGgsnSADccaRowStatus) is active."
     ::= { cGgsnSAConfigurations 2 }

cGgsnSADccaProfileEntry        OBJECT-TYPE
     SYNTAX                    CGgsnSADccaProfileEntry
     MAX-ACCESS                not-accessible
     STATUS                    current
     DESCRIPTION
         "An entry contains DCCA profile, which interact with DCCA 
         server for quota negotiation and usage reporting.

         The entries in this table are stored in NVRAM when the agent 
         writes the configuration to memory before restart."
     INDEX   { cGgsnSADccaProfileName }
     ::= { cGgsnSADccaProfileTable 1 } 
         

CGgsnSADccaProfileEntry         ::= SEQUENCE {
   cGgsnSADccaProfileName        SnmpAdminString,
   cGgsnSADccaAuthorization      SnmpAdminString,
   cGgsnSADccaCcfh               INTEGER,
   cGgsnSADccaDestinationRealm   SnmpAdminString,
   cGgsnSADccaSessionFailover    TruthValue,
   cGgsnSADccaTxTimeout          Unsigned32,
   cGgsnSADccaTriggerSgsnChange  TruthValue,
   cGgsnSADccaTriggerQosChange   TruthValue,
   cGgsnSADccaRowStatus          RowStatus,
   cGgsnSADccaTriggerPlmnChange  TruthValue,
   cGgsnSADccaTriggerRatChange   TruthValue
   }

cGgsnSADccaProfileName       OBJECT-TYPE
     SYNTAX                  SnmpAdminString
     MAX-ACCESS              not-accessible  
     STATUS                  current
     DESCRIPTION
         "This object specifies the DCCA profile name. 

         The GGSN contacts the DCCA server, for online billing,
         if the DCCA profile name is set in charging profile." 
     ::= { cGgsnSADccaProfileEntry 1 }

cGgsnSADccaAuthorization     OBJECT-TYPE
     SYNTAX                  SnmpAdminString
     MAX-ACCESS              read-create 
     STATUS                  current
     DESCRIPTION
         "This object must be set to a valid value upon transition of
         the entry to the 'active' state. 

         The object defines the authorization method list 
         (given by AAA authorization) referencing the DIAMETER server 
         group, which are defined in an AAA server group."
     ::= { cGgsnSADccaProfileEntry 2 }

cGgsnSADccaCcfh              OBJECT-TYPE
     SYNTAX                  INTEGER {
                               terminate(1),
                               retryTerminate(2),
                               continue(3)
                             }
     MAX-ACCESS              read-create 
     STATUS                  current
     DESCRIPTION
         "This object specifies the CCFH attribute. The 
         CCFH value governs the behavior of credit control client 
         in fault situations.  When the response is not received from 
         the DCCA server within the configured retransmit timer,  
         handling is done based on the CCFH attribute for the session. 
        
         - 'continue': The CCFH will allow the PDP context to 
           continue and allow the traffic.

         - 'terminate': It will terminate the PDP context and the
           CC session.

         - 'retryTerminate': The DCCA client retries an alternate 
           server and if 'fail-to send' condition occur, then
           PDP context will be terminated." 
     DEFVAL { terminate }
     ::= { cGgsnSADccaProfileEntry 3 }

cGgsnSADccaDestinationRealm   OBJECT-TYPE
     SYNTAX                   SnmpAdminString
     MAX-ACCESS               read-create 
     STATUS                   current
     DESCRIPTION
         "Destination realm is to be sent within the CCR (Initial)
         request.  This is the mandatory configuration while defining
         the row and can be changed when the row is still active.
         For subsequent CCRs, the original-realm AVP received in
         the last CCA is used as destination-realm."
     ::= { cGgsnSADccaProfileEntry 4 }

cGgsnSADccaSessionFailover   OBJECT-TYPE
     SYNTAX                  TruthValue
     MAX-ACCESS              read-create 
     STATUS                  current
     DESCRIPTION
         "This object specifies whether session failover is
         supported or not. 

         If this object is set to 'false', credit control session 
         will never be moved to an alternate server. 

         If this object is set to 'true', DCCA client will move the 
         session to an alternate server."
     DEFVAL { false } 
     ::= { cGgsnSADccaProfileEntry 5 }

cGgsnSADccaTxTimeout         OBJECT-TYPE
     SYNTAX                  Unsigned32 
     UNITS                   "seconds"
     MAX-ACCESS              read-create 
     STATUS                  current
     DESCRIPTION
         "This object specifies the retransmit timer value for DCCA
         client.
 
         The retransmit timeout is to be used for CCR messages.  The 
         DCCA specification defines a retransmit timer (Tx) that is 
         used by the client to supervise the communication with 
         the server, because for pre-paid services, the end user 
         expects the response from the network in a reasonable time, 
         thus the DCCA client shall react faster than the underlying  
         base protocol.  When the retransmit timer elapses, the DCCA 
         client will take an action on the PDP context depending on  
         the current value of CCFH for that session. 

         The retransmit timer is started with each CCR (initial) and 
         CCR (update).  Since multiple CCR (update) messages are 
         possible, if one CCR (update) message is pending, a subsequent 
         CCR (update) message restart the timer.  When answer to all
         pending CCR (update) messages are received, the retransmit 
         timer is stopped."
     DEFVAL { 10 }
     ::= { cGgsnSADccaProfileEntry 6 }

cGgsnSADccaTriggerSgsnChange OBJECT-TYPE
     SYNTAX                  TruthValue 
     MAX-ACCESS              read-create
     STATUS                  current
     DESCRIPTION
         "This object takes effect only for generic DCCA implementation.
         For vodafone specific implementation it does not have any 
         effect.

         - 'true': Then change in the SGSN is considered
                   as trigger for quota re-authorization.

         - 'false': Change in SGSN will not cause quota
                    re-authorization.

         Modifying this object will not take any effect on existing
         PDPs using this DCCA profile.  Only new PDP contexts using the
         DCCA profile will be based on the new change."
     DEFVAL { false }
     ::= { cGgsnSADccaProfileEntry 7 }

cGgsnSADccaTriggerQosChange  OBJECT-TYPE
     SYNTAX                  TruthValue
     MAX-ACCESS              read-create
     STATUS                  current
     DESCRIPTION
         "This object takes effect only for generic DCCA implementation.
         For vodafone specific implementation it does not have 
         any effect.

         - 'true': QOS change is considered as
                   trigger for quota re-authorization.

         - 'false': quota re-authorization will not take place when
                   when there is change in QOS.
         Change in the trigger effect new PDP contexts."
     DEFVAL { false }
     ::= { cGgsnSADccaProfileEntry 8 }
 
cGgsnSADccaRowStatus          OBJECT-TYPE
     SYNTAX                   RowStatus
     MAX-ACCESS               read-create
     STATUS                   current
     DESCRIPTION
         "This object is used to create a new row or delete an
         existing row in this table."
     ::= { cGgsnSADccaProfileEntry 9 }

cGgsnSADccaTriggerPlmnChange OBJECT-TYPE
     SYNTAX                  TruthValue
     MAX-ACCESS              read-create
     STATUS                  current
     DESCRIPTION
         "The value of this object takes effect only when DCCA client 
         is configured as non-vodafone specfic. 

         - 'true': PLMN ID change is considered as
                   trigger for quota re-authorization.

         - 'false': PLMN ID change is not considered as
                    trigger for quota re-authorization.
         This trigger will have effect on new PDPs, which are created
         after enabling the trigger." 
     DEFVAL { false }
     ::= { cGgsnSADccaProfileEntry 10 }

cGgsnSADccaTriggerRatChange  OBJECT-TYPE
     SYNTAX                  TruthValue
     MAX-ACCESS              read-create
     STATUS                  current
     DESCRIPTION
         "The value of this object takes effect only when DCCA client 
         is configured as non-vodafone specfic. 

         - 'true': RAT change is considered as
                   trigger for quota re-authorization.

         - 'false': RAT change is not considered as
                    trigger for quota re-authorization.
         This trigger will have effect on new PDPs, which are created
         after enabling the trigger."
     DEFVAL { false }
     ::= { cGgsnSADccaProfileEntry 11 }

cGgsnSADccaClci               OBJECT-TYPE
     SYNTAX                   INTEGER {
                                       a3Gpp(1),
                                       clci(2)
                                      } 
     MAX-ACCESS               read-write 
     STATUS                   current
     DESCRIPTION
         "This object is introduced to make GGSN's DCCA implementation
         a vodafone specific.  The objective of this configuration is 
         for GPRS client to add some vodafone specific attributes to 
         the request message.
         
         - 'clci': DCCA implementation is vodafone specific.

         - 'a3Gpp': DCCA implementation is non-vodafone specific."
     DEFVAL { a3Gpp } 
     ::= { cGgsnSAConfigurations 3 } 

--
--CSG
--

cGgsnSACsgTable                OBJECT-TYPE
     SYNTAX                    SEQUENCE OF CGgsnSACsgEntry
     MAX-ACCESS                not-accessible
     STATUS                    current
     DESCRIPTION
         "The table contains the list of CSG groups indexed by the
         CSG group name. 

         A pair of CSG instances works with the QS together,
         to achieve CSG redundancy.  But only one of them is active,
         performing the packet forwarding functionality at any time.
         User information is replicated from the active to the standby.
         The pair appears as one virtual CSG to the rest of the network
         by using a virtual IP address on both of them.  This virtual 
         address is the address to be used for the CSG."
     ::= { cGgsnSAConfigurations 4 }

cGgsnSACsgEntry                OBJECT-TYPE
     SYNTAX                    CGgsnSACsgEntry
     MAX-ACCESS                not-accessible
     STATUS                    current
     DESCRIPTION
         "An entry represents the CSG group and the virtual address to
         reach the CSG."
     INDEX      { cGgsnSACsgGroupName }
     ::= { cGgsnSACsgTable 1 }

CGgsnSACsgEntry                  ::= SEQUENCE {
    cGgsnSACsgGroupName            SnmpAdminString,
    cGgsnSACsgRealAddressType      InetAddressType,
    cGgsnSACsgRealAddress1         InetAddress,
    cGgsnSACsgRealAddress2         InetAddress,
    cGgsnSACsgVirtualAddressType   InetAddressType,
    cGgsnSACsgVirtualAddress       InetAddress,
    cGgsnSACsgPort                 InetPortNumber,
    cGgsnSACsgRowStatus            RowStatus 
    }

cGgsnSACsgGroupName            OBJECT-TYPE
     SYNTAX                    SnmpAdminString 
     MAX-ACCESS                not-accessible 
     STATUS                    current
     DESCRIPTION
         "This object identifies the CSG group. The name of 
         CSG group is used by the QS to establish the path between 
         CSG-QS."
     ::= { cGgsnSACsgEntry 1 }

cGgsnSACsgRealAddressType       OBJECT-TYPE
     SYNTAX                     InetAddressType
     MAX-ACCESS                 read-create 
     STATUS                     current
     DESCRIPTION
         "This object specifies the type of Internet address specified
         by cGgsnSACsgRealAddress1 and cGgsnSACsgRealAddress2."
     DEFVAL { ipv4 }
     ::= { cGgsnSACsgEntry 2 }

cGgsnSACsgRealAddress1          OBJECT-TYPE
     SYNTAX                     InetAddress
     MAX-ACCESS                 read-create 
     STATUS                     current
     DESCRIPTION     
         "This object specifies the address of real CSG. 
         
         The addrress associated with each CSG is called real
         address and the address associated with the CSG group is 
         called virtual address.
      
         This is not an essential configuration for CSG and QS
         inter-working.  But it will serve as an additional security
         check against the source of messages." 
     ::= { cGgsnSACsgEntry 3 } 

cGgsnSACsgRealAddress2          OBJECT-TYPE
     SYNTAX                     InetAddress
     MAX-ACCESS                 read-create
     STATUS                     current
     DESCRIPTION    
         "This object configures the real address of the
         second real CSG.  The type of the address for two real CSGs
         are specified by cGgsnSACsgRealAddressType."
     ::= { cGgsnSACsgEntry 4 }
 
cGgsnSACsgVirtualAddressType    OBJECT-TYPE
     SYNTAX                     InetAddressType 
     MAX-ACCESS                 read-create 
     STATUS                     current
     DESCRIPTION
         "This object specifies the type of Internet address specified
         by cGgsnSACsgVirtualAddress."
     DEFVAL { ipv4 }
     ::= { cGgsnSACsgEntry 5 } 

cGgsnSACsgVirtualAddress        OBJECT-TYPE
     SYNTAX                     InetAddress
     MAX-ACCESS                 read-create 
     STATUS                     current
     DESCRIPTION
         "This object specifies the virtual address of 
         the CSG group.  QS will send all its requests to this address. 
         The path between QS and CSG will come up after configuring
         this address.  Hence it is very important configuration object 
         for proper QS and CSG inter-working.

         The type of the address is specified by the object 
         cGgsnSAVirtualAddressType."
     ::= { cGgsnSACsgEntry 6 }

cGgsnSACsgPort                  OBJECT-TYPE
     SYNTAX                     InetPortNumber 
     MAX-ACCESS                 read-create 
     STATUS                     current 
     DESCRIPTION
         "This object is used to configure the port to which the CSG 
         listens for QS traffic."
     DEFVAL { 3386 }
     ::= { cGgsnSACsgEntry 7 }

cGgsnSACsgRowStatus             OBJECT-TYPE
     SYNTAX                     RowStatus
     MAX-ACCESS                 read-create
     STATUS                     current
     DESCRIPTION
         "This object is used to create new row into the table or 
         deletes the existing one."
     ::= { cGgsnSACsgEntry 8 }

--
--Quota server
--         
cGgsnSAQuotaServerTable        OBJECT-TYPE
     SYNTAX                    SEQUENCE OF CGgsnSAQuotaServerEntry
     MAX-ACCESS                not-accessible
     STATUS                    current
     DESCRIPTION
         "This table contains the list of quota servers indexed by QS
         name.  GGSN acts as a QS.  The responsibilities of QS are: 

         - Handle the incoming path management messages from the CSG.
         
         - Handle the incoming quota management messages from 
           the CSG, and feed events and usage reports to the DCCA
           category instance FSM.
         
         - Provide interface to other modules to send quota management
           messages (requests and responses)to the CSG.
         An entry is created when user configures the quota server 
         name."
     ::= { cGgsnSAConfigurations 5 }

cGgsnSAQuotaServerEntry        OBJECT-TYPE
     SYNTAX                    CGgsnSAQuotaServerEntry
     MAX-ACCESS                not-accessible
     STATUS                    current
     DESCRIPTION
         "An entry represents the quota server name and interface 
         details." 
     INDEX    { cGgsnSAQuotaServerName }
     ::= { cGgsnSAQuotaServerTable 1 }

CGgsnSAQuotaServerEntry           ::= SEQUENCE {
     cGgsnSAQuotaServerName         SnmpAdminString,
     cGgsnSAQuotaServerInterface    SnmpAdminString,
     cGgsnSAQuotaServerCsgGroup     SnmpAdminString,
     cGgsnSAQuotaServerEchoInterval Integer32,
     cGgsnSAQuotaServerN3Requests   Integer32,
     cGgsnSAQuotaServerT3Response   Integer32,
     cGgsnSAQuotaServerRowStatus    RowStatus 
     } 

cGgsnSAQuotaServerName         OBJECT-TYPE
     SYNTAX                    SnmpAdminString
     MAX-ACCESS                not-accessible  
     STATUS                    current
     DESCRIPTION
         "This object is used to identify the QS." 
     ::= { cGgsnSAQuotaServerEntry 1 }

cGgsnSAQuotaServerInterface   OBJECT-TYPE
     SYNTAX                   SnmpAdminString  
     MAX-ACCESS               read-create 
     STATUS                   current
     DESCRIPTION
         "This object specifies the logical/virtual interface
         to be used by the QS with the interface name.  The address
         on this interface become the QS's address. 
         
         To communicate with the CSG, the QS use its own address
         which is different than the GGSN's own address on its
         virtual-template interface. 

         This is very essential configuration for proper
         QS and CSG inter-working."
     ::= { cGgsnSAQuotaServerEntry 2 }

cGgsnSAQuotaServerCsgGroup    OBJECT-TYPE
     SYNTAX                   SnmpAdminString
     MAX-ACCESS               read-create 
     STATUS                   current
     DESCRIPTION
         "This object associates the QS configuration set to the CSG
         group, given by group-name.  This object must be set for
         such association before both set of configurations can work
         together."
     ::= { cGgsnSAQuotaServerEntry 3 }

cGgsnSAQuotaServerEchoInterval OBJECT-TYPE
     SYNTAX                   Integer32 ( 0 | 60..65535 ) 
     UNITS                    "seconds"
     MAX-ACCESS               read-create 
     STATUS                   current
     DESCRIPTION
         "This object specifies the echo interval for QS path
         management.  

         When the value is set to zero(0),it will disable the
         GGSN-QS originated echoes."
     DEFVAL { 60 } 
     ::= { cGgsnSAQuotaServerEntry 4 }

cGgsnSAQuotaServerN3Requests  OBJECT-TYPE
     SYNTAX                   Integer32 ( 1..65535 )
     MAX-ACCESS               read-create 
     STATUS                   current
     DESCRIPTION
         "This object configures the number of retries for message
         transmission to CSG." 
     DEFVAL { 4 }
     ::= { cGgsnSAQuotaServerEntry 5 }

cGgsnSAQuotaServerT3Response OBJECT-TYPE
     SYNTAX                  Integer32 ( 1..65535 )
     MAX-ACCESS              read-create 
     STATUS                  current
     DESCRIPTION
         "This object specifies the waiting time for a message
         in response from the CSG in seconds." 
     DEFVAL { 1 }
     ::= { cGgsnSAQuotaServerEntry 6 }

cGgsnSAQuotaServerRowStatus     OBJECT-TYPE
     SYNTAX                     RowStatus
     MAX-ACCESS                 read-create
     STATUS                     current
     DESCRIPTION
         "This object creates new row into the table or deletes the
         existing one."
     ::= { cGgsnSAQuotaServerEntry 7 }

-- Notif Info

cGgsnSANotifCsgRealAddressType   OBJECT-TYPE
     SYNTAX                      InetAddressType
     MAX-ACCESS                  accessible-for-notify
     STATUS                      current
     DESCRIPTION
         "This object indicates the type of IP address, for real
         address of the CSG group."
     ::= { cGgsnSANotifInfo 1 }

cGgsnSANotifCsgRealAddress       OBJECT-TYPE
     SYNTAX                      InetAddress
     MAX-ACCESS                  accessible-for-notify
     STATUS                      current
     DESCRIPTION
         "This object indicates the real IP address of the CSG group."
     ::= { cGgsnSANotifInfo 2 }

cGgsnSANotifCsgVirtualAddrType   OBJECT-TYPE
     SYNTAX                      InetAddressType
     MAX-ACCESS                  accessible-for-notify
     STATUS                      current
     DESCRIPTION
         "This object indicates the type of IP address, for virtual
         address of the CSG group."
     ::= { cGgsnSANotifInfo 3 }

cGgsnSANotifCsgVirtualAddress    OBJECT-TYPE
     SYNTAX                      InetAddress
     MAX-ACCESS                  accessible-for-notify
     STATUS                      current
     DESCRIPTION
         "This object indicates the virtual IP address of the 
         CSG group."
     ::= { cGgsnSANotifInfo 4 }

cGgsnSANotifCsgPort              OBJECT-TYPE
     SYNTAX                      InetPortNumber
     MAX-ACCESS                  accessible-for-notify
     STATUS                      current
     DESCRIPTION
         "This object indicates the port number of the CSG group."
     DEFVAL { 3386 }
     ::= { cGgsnSANotifInfo 5 }

--
-- Notifications
--
cGgsnSAMIBNotificationPrefix    OBJECT IDENTIFIER
                                ::= { cGgsnSAMIB 2 }
cGgsnSANotifications            OBJECT IDENTIFIER
                                ::= { cGgsnSAMIBNotificationPrefix 0 } 

cGgsnSACsgStateUpNotif           NOTIFICATION-TYPE
     OBJECTS                 {
                              cGgsnSANotifCsgRealAddressType,
                              cGgsnSANotifCsgRealAddress,
                              cGgsnSANotifCsgVirtualAddrType,
                              cGgsnSANotifCsgVirtualAddress,
                              cGgsnSANotifCsgPort
                             }
     STATUS                     current
     DESCRIPTION
         "This notification is generated when CSG state goes
         up."
     ::= { cGgsnSANotifications 1 }

cGgsnSACsgStateDownNotif        NOTIFICATION-TYPE
     OBJECTS                {
                             cGgsnSANotifCsgRealAddressType,
                             cGgsnSANotifCsgRealAddress,
                             cGgsnSANotifCsgVirtualAddrType,
                             cGgsnSANotifCsgVirtualAddress,
                             cGgsnSANotifCsgPort
                            }
     STATUS                     current
     DESCRIPTION
         "This notification is generated when CSG state goes
         down."
     ::= { cGgsnSANotifications 2 }

cGgsnSADccaEndUsrServDeniedNotif  NOTIFICATION-TYPE
     OBJECTS                   {
                                cGgsnNotifPdpImsi,
                                cGgsnNotifPdpMsisdn
                               }
     STATUS                     current
     DESCRIPTION
           "This notification is generated when the credit-
           control server denies the service request due to
           service restrictions.  On reception of this notif
           on category level, the CLCI-C shall discard all future
           user traffic for that category on that PDP context and
           not attempt to ask for more quotas during the same PDP
           context."
     ::= { cGgsnSANotifications 3 }

cGgsnSADccaCreditLimReachedNotif   NOTIFICATION-TYPE
     OBJECTS                   {
                                cGgsnNotifPdpImsi,
                                cGgsnNotifPdpMsisdn
                               }
     STATUS                      current
     DESCRIPTION
          "This notification is generated when the credit limit
          is reached.  The credit-control server denies the service
          request since the end user's account could not cover the
          requested service.  Client shall behave exactly as with
          cGgsnSADccaEndUsrServDeniedNotif."
     ::= { cGgsnSANotifications 4 }

cGgsnSADccaUserUnknownNotif        NOTIFICATION-TYPE
     OBJECTS                   {
                                cGgsnNotifPdpImsi,
                                cGgsnNotifPdpMsisdn
                               }
     STATUS                      current
     DESCRIPTION
          "This notification is generated when the specified
          end user is unknown in the credit-control server.
          Such permanent failures cause the client to enter
          the Idle state.  The client shall reject or terminate the
          PDP context depending on whether the result code was
          received in a CCA (Initial) or CCA (Update)."
     ::= { cGgsnSANotifications 5 }

cGgsnSADccaRatingFailed            NOTIFICATION-TYPE
     OBJECTS                   {
                                cGgsnNotifPdpImsi,
                                cGgsnNotifPdpMsisdn
                               }
     STATUS                      current
     DESCRIPTION
         "This notification is generated when the credit-control
         server cannot rate the service request, due to insufficient
         rating input, incorrect AVP combination or due to an AVP or
         an AVP value that is not recognized or supported in the
         rating."
     ::= { cGgsnSANotifications 6 }

cGgsnSADccaAuthRejectedNotif       NOTIFICATION-TYPE
     OBJECTS                   {
                                cGgsnNotifPdpImsi,
                                cGgsnNotifPdpMsisdn
                               }
     STATUS                      current
     DESCRIPTION
          "This notification is generated when credit-control
          server failed in authorization of end user.  The PDP
          context is deleted and category is blacklisted."
     ::= { cGgsnSANotifications 7 }

cGgsnSAMIBConformance    OBJECT IDENTIFIER
                           ::= { cGgsnSAMIB 3 }

cGgsnSAMIBCompliances    OBJECT IDENTIFIER
                           ::= { cGgsnSAMIBConformance 1}
cGgsnSAMIBGroups         OBJECT IDENTIFIER
                           ::= { cGgsnSAMIBConformance 2}

--
-- Compliances statements
--

cGgsnSAMIBCompliance     MODULE-COMPLIANCE
        STATUS           deprecated 
        DESCRIPTION
             "The compliance statements for entities which
             implement the CISCO GGSN SERVICE AWARE MIB. This 
             is deprecated by cGgsnSAMIBComplianceRev1."
        MODULE      -- this module
        MANDATORY-GROUPS { cGgsnSAConfigurationsGroup, 
                           cGgsnSAStatisticsGroup,
                           cGgsnSANotifGroup,
                           cGgsnSANotifInfoGroup,
                           cGgsnSANotifMgmtGroup
                         }
        OBJECT           cGgsnSADccaRowStatus
        SYNTAX           INTEGER { active(1),
                                   createAndGo(4),
                                   destroy(6)
                                 }
        DESCRIPTION
            "The states notInService(2), notReady(3) and
            createAndWait(5) need not be supported."
        OBJECT           cGgsnSACsgRowStatus
        SYNTAX           INTEGER { active(1),
                                   createAndGo(4),
                                   destroy(6)
                                 }
        DESCRIPTION
            "The states notInService(2), notReady(3) and
            createAndWait(5) need not be supported."
        OBJECT            cGgsnSAQuotaServerRowStatus
        SYNTAX            INTEGER { active(1),
                                   createAndGo(4),
                                   destroy(6)
                                 }
        DESCRIPTION
            "The states notInService(2), notReady(3) and
            createAndWait(5) need not be supported."
        ::= { cGgsnSAMIBCompliances 1 }

cGgsnSAMIBComplianceRev1    MODULE-COMPLIANCE
        STATUS              current
        DESCRIPTION
             "The compliance statements for entities which
             implement the CISCO GGSN SERVICE AWARE MIB." 
        MODULE      -- this module
        MANDATORY-GROUPS { cGgsnSAConfigurationsGroup,
                           cGgsnSAExtConfigurationsGroup,
                           cGgsnSAStatisticsGroup,
                           cGgsnSANotifGroup,
                           cGgsnSANotifInfoGroup,
                           cGgsnSANotifMgmtGroup
                         }
        OBJECT           cGgsnSADccaRowStatus
        SYNTAX           INTEGER { active(1),
                                   createAndGo(4),
                                   destroy(6)
                                 }
        DESCRIPTION
            "The states notInService(2), notReady(3) and
            createAndWait(5) need not be supported."
        OBJECT           cGgsnSACsgRowStatus
        SYNTAX           INTEGER { active(1),
                                   createAndGo(4),
                                   destroy(6)
                                 }
        DESCRIPTION
            "The states notInService(2), notReady(3) and
            createAndWait(5) need not be supported."
        OBJECT            cGgsnSAQuotaServerRowStatus
        SYNTAX            INTEGER { active(1),
                                   createAndGo(4),
                                   destroy(6)
                                 }
        DESCRIPTION
            "The states notInService(2), notReady(3) and
            createAndWait(5) need not be supported."
        ::= { cGgsnSAMIBCompliances 2 }

-- units of conformance

cGgsnSAConfigurationsGroup     OBJECT-GROUP
     OBJECTS                   {
                               cGgsnSADccaRowStatus,
                               cGgsnSADccaAuthorization, 
                               cGgsnSADccaCcfh,
                               cGgsnSADccaDestinationRealm,
                               cGgsnSADccaSessionFailover,
                               cGgsnSADccaTxTimeout,
                               cGgsnSADccaTriggerSgsnChange, 
                               cGgsnSADccaTriggerQosChange,
                               cGgsnSADccaClci, 
                               cGgsnSAServiceAware,
                               cGgsnSACsgRowStatus,
                               cGgsnSACsgRealAddressType,
                               cGgsnSACsgRealAddress1,
                               cGgsnSACsgRealAddress2,
                               cGgsnSACsgVirtualAddressType,
                               cGgsnSACsgVirtualAddress,
                               cGgsnSACsgPort, 
                               cGgsnSAQuotaServerRowStatus,
                               cGgsnSAQuotaServerInterface,
                               cGgsnSAQuotaServerCsgGroup,
                               cGgsnSAQuotaServerEchoInterval,
                               cGgsnSAQuotaServerN3Requests,
                               cGgsnSAQuotaServerT3Response
                               }
     STATUS                    current
     DESCRIPTION
         "A collection of objects representing configurations on GGSN."
     ::= { cGgsnSAMIBGroups 1 }

cGgsnSAStatisticsGroup   OBJECT-GROUP
    OBJECTS                {
                              cGgsnSACsgOutboundMsgs,
                              cGgsnSACsgOutboundOctets,
                              cGgsnSACsgInboundMsgs,
                              cGgsnSACsgInboundOctets,
                              cGgsnSACsgServiceAuthReqs,
                              cGgsnSACsgServiceAuthResps,
                              cGgsnSACsgServiceReAuthReqs,
                              cGgsnSACsgQuotaReturns,
                              cGgsnSACsgQuotaReturnReqs,
                              cGgsnSACsgQuotaPushResps,
                              cGgsnSACsgServiceStopMsgs,
                              cGgsnSACsgServiceStopReqs,
                              cGgsnSACsgQuotaPushMsgs,
                              cGgsnSACsgQuotaPushRsps,
                              cGgsnSACsgGtpAcks,
                              cGgsnSAQsRcvdRequests,
                              cGgsnSAQsRcvdResponses,
                              cGgsnSAQsSentRequests,
                              cGgsnSAQsSentResponses,
                              cGgsnSAQsRcvdPathRequests,
                              cGgsnSAQsRcvdPathResponses,
                              cGgsnSAQsSentPathRequests,
                              cGgsnSAQsSentPathResponses,
                              cGgsnSAQsRcvdNegativeResponses,
                              cGgsnSAQsRequestsUnreplied,
                              cGgsnSAQsSeqnumFailures,
                              cGgsnSAQsDroppedMsgs,
                              cGgsnSAQsUnknownMsgs,
                              cGgsnSAQsUnknownResponses,
                              cGgsnSAQsIEErrorMsgs,
                              cGgsnSAQsBadSrcAddressMsgs,
                              cGgsnSAQsVersionUnSupportedMsgs,
                              cGgsnSAQsMandTlvMissingMsgs,
                              cGgsnSAQsMandTlvIncorrectMsgs,
                              cGgsnSAQsInvalidMsgFormats,
                              cGgsnSAQsNoResponseToMsgs,
                              cGgsnSANumServiceAwareApns,
                              cGgsnSATotalGgsnEvents,
                              cGgsnSATotalCsgEvents,
                              cGgsnSATotalDccaEvents,
                              cGgsnSATotalCreatedCategories,
                              cGgsnSATotalCreatedSyncObjs,
                              cGgsnSACategoryFsmRtnErrors,
                              cGgsnSATotalServiceAuthMsgs,
                              cGgsnSATotalServiceStopMsgs,
                              cGgsnSATotalQuotaGranted,
                              cGgsnSATotalBlackListCategories,
                              cGgsnSATotalRAREvents,
                              cGgsnSATotalDeletePdps,
                              cGgsnSAFinalConvertToPostpaidPdps,
                              cGgsnSATotalGgsnFailures,
                              cGgsnSATotalCsgFailures,
                              cGgsnSATotalDccaFailures,
                              cGgsnSATotalDeletedCategories,
                              cGgsnSATotalDeletedSyncObjects,
                              cGgsnSATotalQuotaPushAcks,
                              cGgsnSATotalServiceReAuthMsgs,
                              cGgsnSATotalQuotaReturns,
                              cGgsnSATotalTerminateCategories,
                              cGgsnSATotalUnknownCategories,
                              cGgsnSATotalRatingChanges,
                              cGgsnSATotalPostpaidConversions,
                              cGgsnSATotalDummyQuotas,
                              cGgsnSATotalPrepaidUsers,
                              cGgsnSATotalPostpaidUsers,
                              cGgsnSARejDccaFailures,
                              cGgsnSARejCsgFailures
                             }
     STATUS                  current
     DESCRIPTION 
         "A collection of objects related with statistics."
     ::= { cGgsnSAMIBGroups 2 } 

cGgsnSANotifGroup           NOTIFICATION-GROUP
     NOTIFICATIONS        {
                           cGgsnSACsgStateUpNotif,
                           cGgsnSACsgStateDownNotif,
                           cGgsnSADccaEndUsrServDeniedNotif,
                           cGgsnSADccaCreditLimReachedNotif,
                           cGgsnSADccaUserUnknownNotif,
                           cGgsnSADccaRatingFailed,
                           cGgsnSADccaAuthRejectedNotif
                          }
     STATUS                current
     DESCRIPTION
         "A collection of Notifications."
     ::= { cGgsnSAMIBGroups 3 }

cGgsnSANotifInfoGroup        OBJECT-GROUP
     OBJECTS               {
                            cGgsnSANotifCsgRealAddressType,
                            cGgsnSANotifCsgRealAddress,
                            cGgsnSANotifCsgVirtualAddrType,
                            cGgsnSANotifCsgVirtualAddress,
                            cGgsnSANotifCsgPort
                           }
     STATUS                 current
     DESCRIPTION
         "A collection of objects representing the Notif info on
         GGSN."
     ::= { cGgsnSAMIBGroups 4 } 
    
cGgsnSANotifMgmtGroup     OBJECT-GROUP
     OBJECTS              {
                           cGgsnSACsgNotifEnabled,
                           cGgsnSADccaNotifEnabled 
                          }
     STATUS                 current
     DESCRIPTION
         " A collection of objects related with notification
         management on GGSN."
     ::= { cGgsnSAMIBGroups 5 } 

cGgsnSAExtConfigurationsGroup   OBJECT-GROUP
     OBJECTS                   {
                                cGgsnSADccaTriggerPlmnChange,
                                cGgsnSADccaTriggerRatChange
                               }
     STATUS                    current
     DESCRIPTION
         "A collection of objects representing configurations on GGSN."
     ::= { cGgsnSAMIBGroups 6 }
END